#ifndef __COORDTRANSF_HPP__
#define __COORDTRANSF_HPP__


#include "opencv2/objdetect/objdetect.hpp"
//#include "opencv2/features2d/features2d.hpp"
#include "opencv2/nonfree/features2d.hpp"     // SURF & SIFT headers have been moved here!!!!
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/imgproc/imgproc_c.h"

#include <iostream>
#include <vector>
#include <stdio.h>

//#include "OpenCV/MatWork.hpp"
#include "MatWork.hpp"

cv::Mat rotx(double fi);
cv::Mat roty(double fi);
cv::Mat rotz(double fi);
cv::Mat trans(double dx, double dy, double dz);

// Created 14/06/13
// Description: - Ref: Robotics Class Roll-Pitch-Yaw Calc from transform10.pdf
//				- given rotation matrix, output roll-pitch-yaw rotation standard angles
//				- equation is: R(alf, bet, gam) = R(z, gam)*R(y, bet)*R(x, alf)
int RPYsolve(const cv::Mat rot, double& alf, double& bet, double& gam);

#endif